/**
*
*
*
**/
#include "config.h"
#include "argv.h"
#include "luas.h"
#include "evt.h"
#include "pkt.h"
#include "ports/port.h"
#include "ports/tcp_port.h"
#include "channel/unix_socket.h"
#include "timer.h"

int main(int argc, char **argv)
{
    //读取并解释命令行参数
    argv_init(argc, argv);

   
    //系统初始化
    system_init();
    
    //运行
    system_run();
    
    //结束
    system_destory();
    
    return 1;
}

/**
    整个系统的初始化
**/
int system_init()
{
    //初始化Lua
    luas_init();
    //初始化port
    port_init();     
    //初始化Event
    evt_init();
    //初始化Pkt
    pkt_init();
    //初始化timer
    timer_init();

    //ports
    tcp_port_init();

    //channel
    unix_socket_init();


    //读取并解释配置文件
    argv_parse();
    
    return 1;
}

int system_run()
{
    evt_run();
    return 1;
}

int system_destory()
{
    luas_close();
    
    return 1;
}

